home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / var / db / pkg / sys-fs / udev-079-r1 / udev-079-r1.ebuild < prev    next >
Text File  |  2006-05-02  |  8KB  |  227 lines

  1. # Copyright 1999-2006 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-079-r1.ebuild,v 1.6 2006/02/19 23:22:16 kumba Exp $
  4.  
  5. inherit eutils flag-o-matic
  6.  
  7. DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
  8. HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
  9. SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2"
  10.  
  11. LICENSE="GPL-2"
  12. SLOT="0"
  13. KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86"
  14. IUSE="selinux"
  15.  
  16. DEPEND="sys-apps/hotplug-base"
  17. RDEPEND="${DEPEND}
  18.     >=sys-apps/baselayout-1.11.14"
  19. # We need the lib/rcscripts/addon support
  20. PROVIDE="virtual/dev-manager"
  21.  
  22. src_unpack() {
  23.     unpack ${A}
  24.  
  25.     cd "${S}"
  26.  
  27.     # patches go here...
  28.     #epatch ${FILESDIR}/${P}-udev_volume_id.patch
  29.  
  30.     # No need to clutter the logs ...
  31.     sed -ie '/^DEBUG/ c\DEBUG = false' Makefile
  32.     # Do not use optimization flags from the package
  33.     sed -ie 's|$(OPTIMIZATION)||g' Makefile
  34.  
  35.     # Make sure there is no sudden changes to udev.rules.gentoo
  36.     # (more for my own needs than anything else ...)
  37.     MD5=`md5sum < "${S}/etc/udev/gentoo/udev.rules"`
  38.     MD5=${MD5/  -/}
  39.     if [ "${MD5}" != "f849a8ebf727167fddbc763ade8c0405" ]
  40.     then
  41.         echo
  42.         eerror "gentoo/udev.rules has been updated, please validate!"
  43.         die "gentoo/udev.rules has been updated, please validate!"
  44.     fi
  45. }
  46.  
  47. src_compile() {
  48.     filter-flags -fprefetch-loop-arrays
  49.     local myconf=
  50.     local extras="extras/scsi_id extras/volume_id extras/ata_id extras/run_directory extras/usb_id extras/floppy extras/cdrom_id extras/firmware"
  51.  
  52.     use selinux && myconf="${myconf} USE_SELINUX=true"
  53.  
  54.     # Not everyone has full $CHOST-{ld,ar,etc...} yet
  55.     local mycross=""
  56.     type -p ${CHOST}-ar && mycross=${CHOST}-
  57.  
  58.     # Do not work with emake
  59.     make \
  60.         EXTRAS="${extras}" \
  61.         udevdir="/dev/" \
  62.         CROSS=${mycross} \
  63.         ${myconf} || die
  64. }
  65.  
  66. src_install() {
  67.     # we install everything by "hand" and don't rely on the udev Makefile to do
  68.     # it for us (why? it's easier that way...)
  69.     dobin udevinfo
  70.     dobin udevtest
  71.     dobin udevmonitor
  72.     into /
  73.     dosbin udev
  74.     dosbin udevd
  75.     dosbin udevsend
  76.     dosbin udevstart
  77.     dosbin udevcontrol
  78.     dosbin extras/run_directory/udev_run_devd
  79.     dosbin extras/run_directory/udev_run_hotplugd
  80.     dosbin extras/ata_id/ata_id
  81.     dosbin extras/volume_id/vol_id
  82.     dosbin extras/scsi_id/scsi_id
  83.     dosbin extras/usb_id/usb_id
  84.     dosbin extras/cdrom_id/cdrom_id
  85.     dosbin extras/path_id
  86.     dosbin extras/floppy/create_floppy_devices
  87.     dosbin extras/firmware/firmware_helper
  88.  
  89.     #exeinto /etc/udev/scripts
  90.     exeinto /lib/udev
  91.     #doexe extras/ide-devfs.sh
  92.     #doexe extras/scsi-devfs.sh
  93.     doexe extras/raid-devfs.sh
  94.  
  95.     # Our udev config file
  96.     insinto /etc/udev
  97.     newins ${FILESDIR}/udev.conf.post_059 udev.conf
  98.  
  99.     # Our rules files
  100.     insinto /etc/udev/rules.d/
  101.     #newins etc/udev/gentoo/udev.rules 50-udev.rules
  102.     newins ${FILESDIR}/udev.rules-078 50-udev.rules
  103.     newins ${FILESDIR}/05-udev-early.rules-079 05-udev-early.rules
  104.  
  105.     # scsi_id configuration
  106.     insinto /etc
  107.     doins extras/scsi_id/scsi_id.config
  108.  
  109.     # set up symlinks in /etc/hotplug.d/default
  110.     dodir /etc/hotplug.d/default
  111.     dosym ../../../sbin/udevsend /etc/hotplug.d/default/10-udev.hotplug
  112.  
  113.     # set up the /etc/dev.d directory tree
  114.     dodir /etc/dev.d/default
  115.     dodir /etc/dev.d/net
  116.     exeinto /etc/dev.d/net
  117.     doexe extras/run_directory/dev.d/net/hotplug.dev
  118.  
  119.     # all of the man pages
  120.     doman *.8
  121.     doman extras/ata_id/ata_id.8
  122.     doman extras/edd_id/edd_id.8
  123.     doman extras/scsi_id/scsi_id.8
  124.     doman extras/volume_id/vol_id.8
  125.     doman extras/dasd_id/dasd_id.8
  126.     doman extras/cdrom_id/cdrom_id.8
  127.  
  128.     # our udev hooks into the rc system
  129.     insinto /lib/rcscripts/addons
  130.     newins "${FILESDIR}"/udev-start-079.sh udev-start.sh
  131.     doins "${FILESDIR}"/udev-stop.sh
  132.  
  133.     dodoc ChangeLog FAQ README TODO RELEASE-NOTES
  134.     dodoc docs/{overview,udev_vs_devfs}
  135.     dodoc docs/writing_udev_rules/*
  136.  
  137.     newdoc extras/volume_id/README README_volume_id
  138.  
  139.     # Create some nodes that we know we need.
  140.     # set the time/date so we can see in /dev which ones we copied over
  141.     # in the udev-start.sh script
  142.     mkdir ${D}/lib/udev/devices
  143.  
  144.     mknod ${D}/lib/udev/devices/null c 1 3
  145.     chmod 666 ${D}/lib/udev/devices/null
  146.     touch -t 200010220101 ${D}/lib/udev/devices/null
  147.  
  148.     mknod ${D}/lib/udev/devices/zero c 1 5
  149.     chmod 666 ${D}/lib/udev/devices/zero
  150.     touch -t 200010220101 ${D}/lib/udev/devices/zero
  151.  
  152.     mknod ${D}/lib/udev/devices/console c 5 1
  153.     chmod 600 ${D}/lib/udev/devices/console
  154.     chown root:tty ${D}/lib/udev/devices/console
  155.     touch -t 200010220101 ${D}/lib/udev/devices/console
  156. }
  157.  
  158. pkg_preinst() {
  159.     if [ -f "${ROOT}/etc/udev/udev.config" -a \
  160.          ! -f "${ROOT}/etc/udev/udev.rules" ]
  161.     then
  162.         mv -f ${ROOT}/etc/udev/udev.config ${ROOT}/etc/udev/udev.rules
  163.     fi
  164.  
  165.     # delete the old udev.hotplug symlink if it is present
  166.     if [ -h "${ROOT}/etc/hotplug.d/default/udev.hotplug" ]
  167.     then
  168.         rm -f ${ROOT}/etc/hotplug.d/default/udev.hotplug
  169.     fi
  170.  
  171.     # delete the old wait_for_sysfs.hotplug symlink if it is present
  172.     if [ -h "${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug" ]
  173.     then
  174.         rm -f ${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug
  175.     fi
  176. }
  177.  
  178. pkg_postinst() {
  179.     if [ "${ROOT}" = "/" -a -n "`pidof udevd`" ]
  180.     then
  181.         killall -15 udevd &>/dev/null
  182.         sleep 1
  183.         killall -9 udevd &>/dev/null
  184.     fi
  185.     /sbin/udevd --daemon
  186.  
  187.     # people want reminders, I'll give them reminders.  Odds are they will
  188.     # just ignore them anyway...
  189.     ewarn "Note: If you are upgrading from a version of udev prior to 046"
  190.     ewarn "      and you rely on the output of udevinfo for anything, please"
  191.     ewarn "      either run 'udevstart' now, or reboot, in order to get a"
  192.     ewarn "      up-to-date udev database."
  193.     ewarn
  194.     ewarn "Note: If you are upgrading from a version of udev prior to 050"
  195.     ewarn "      and you had written some custom permissions rules, please"
  196.     ewarn "      realize that the permission rules are now part of the main"
  197.     ewarn "      udev rules files and are not stand-alone anymore.  This means"
  198.     ewarn "      you need to rewrite them."
  199.     ewarn
  200.     ewarn "Note: If you are upgrading from a version of udev prior to 057"
  201.     ewarn "      and you have written custom rules, and rely on the etc/dev.d/"
  202.     ewarn "      functionality, please read the RELEASE-NOTES file for details"
  203.     ewarn "      on what has changed with this feature, and how to change your"
  204.     ewarn "      rules to work properly."
  205.     ewarn
  206.     ewarn "Note: If you are upgrading from a version of udev prior to 059"
  207.     ewarn "      and you have written custom rules, and rely on the etc/dev.d/"
  208.     ewarn "      functionality, or the etc/hotplug.d functionality, or just"
  209.     ewarn "      want to write some very cool and power udev rules, please "
  210.     ewarn "      read the RELEASE-NOTES file for details on what has changed"
  211.     ewarn "      with this feature, and how to change your rules to work properly."
  212.     ewarn
  213.     ewarn "Note: If you are upgrading from a version of udev prior to 063"
  214.     ewarn "      and you use the devfs-style names for your block devices"
  215.     ewarn "      or use devfs-style names in /etc/inittab or /etc/securetty or"
  216.     ewarn "      your GRUB or LILO kernel boot command line, you need to"
  217.     ewarn "      change them back to LSB compliant names, as the devfs names are"
  218.     ewarn "      now gone.  If you wish to use some persistent names for your"
  219.     ewarn "      block devices, look at the symlinks in /dev/disk/ for the names"
  220.     ewarn "      you can use."
  221.  
  222.     einfo
  223.     einfo "For more information on udev on Gentoo, writing udev rules, and"
  224.     einfo "         fixing known issues visit:"
  225.     einfo "         http://www.gentoo.org/doc/en/udev-guide.xml"
  226. }
  227.